package com.xbongbong.pro.message.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.message.pojo.dto.MessageSetDetailDTO;
import com.xbongbong.pro.message.pojo.dto.MessageSetEnableDTO;
import com.xbongbong.pro.message.pojo.dto.MessageSetMenuListDTO;
import com.xbongbong.pro.message.pojo.dto.MessageSetSaveDTO;
import com.xbongbong.pro.message.pojo.vo.MessageSetDetailVO;
import com.xbongbong.pro.message.pojo.vo.MessageSetEnableVO;
import com.xbongbong.pro.message.pojo.vo.MessageSetMenuListVO;
import com.xbongbong.pro.message.pojo.vo.MessageSetSaveVO;

/**
 * Description: 消息设置相关service
 * @author 魏荣杰
 * @date 2019/1/4 9:56
 * @version v1.0
 * @since v1.0
 */
public interface ParentMessageSetService {

    /**
     * Description: 获取消息设置
     * @param messageSetMenuListDTO messageSetMenuListDTO
     * @return MessageMenuListVO
     * @throws XbbException xbb异常
     */
    MessageSetMenuListVO getMenuList(MessageSetMenuListDTO messageSetMenuListDTO) throws XbbException;

    /**
     * Description: 获取消息设置详情
     * @param messageSetDetailDTO messageSetDetailDTO
     * @return com.xbongbong.pro.message.pojo.vo.MessageSetDetailVO
     * @throws XbbException XbbException
     */
    MessageSetDetailVO getSetDetailList(MessageSetDetailDTO messageSetDetailDTO) throws XbbException;

    /**
     * Description: 保存消息设置
     * @param messageSetSaveDTO messageSetSaveDTO
     * @return com.xbongbong.pro.message.pojo.vo.MessageSetSaveVO
     * @throws XbbException XbbException
     */
    MessageSetSaveVO saveMessageSet(MessageSetSaveDTO messageSetSaveDTO) throws XbbException;

    /**
     * Description: 开启关闭消息设置
     * @param messageSetEnableDTO messageSetSaveDTO
     * @return com.xbongbong.pro.message.pojo.vo.MessageSetEnableVO
     * @throws XbbException XbbException
     */
    MessageSetEnableVO enableMessageSet(MessageSetEnableDTO messageSetEnableDTO) throws XbbException;
}
